package org.flexharmony.harmonizer.javadef;

import java.util.List;

/**
 * A Java method signature converted from the ASM bytecode representation.
 * 
 * @author Corey Baswell
 */
public class JavaMethodSignature
{
  /**
   * The method visiblity.
   */
  public final JavaVisibility visibility;
  
  /**
   * The method name.
   */
  public final String name;
  
  /**
   * The list of parameter types for the method. May be null or empty if no
   * parameters are present.
   */
  public final List<JavaType> parameterTypes;
  
  /**
   * The return type for the method. null represents void.
   */
  public final JavaType returnType;
  
  public JavaMethodSignature(JavaVisibility visibility, String name, List<JavaType> parameterTypes, JavaType returnType)
  {
    this.visibility = visibility;
    this.name = name;
    this.parameterTypes = parameterTypes;
    this.returnType = returnType;
  }
}
